package array数组;

import java.util.Scanner;

/**
 * 一维数组:
 *  1.创建数组:类型[] 数组名； 
 *  基本类型【整型（byte short int long） 实型（float double） 字符（char）逻辑（boolean）】 
 *  对象类型（引用类型） int[] a=new int[5];或 int a[]=new int[5];
 *2、数组元素的引用：
 * 数组名[下标] 下标下限为0
 *
 * 3、应用：最大最小值
 * 
 * 
 * 
 *
 */
public class ShuZu数组 {

	public static void main(String[] args) {
		int a[] = new int[10];// 定义数组
		out(a);// 输出数组
		getrateRandom(a);// 给数组存入随机数
		out(a);// 输出数组
		int max = findMax(a);//最大值
		int min = findMin(a);//最小值
		System.out.println("max=" + max);
		System.out.println("min=" + min);		
		shiftLeft(a);//交换
		out(a);		
		int s = sum(a);//求和
		System.out.println("sum=" + s);
		reverse(a);//首尾交换
		out(a);
		System.out.println("请输入您要查找的数：");
		Scanner kd=new Scanner(System.in);
		int x=kd.nextInt();
		int pos=select(a,x);
		if(pos>=0){		
			System.out.println("找到，下标为"+pos);
		}else
			System.out.println("您要查找的数不存在：");		
	}

	private static int select(int[] a, int x) {
		for(int i=0;i<a.length;i++)
			if(x==a[i])
				return i;				
				return -1;						
	}
	//首尾交换
	private static void reverse(int[] a) {
		for (int i = 0; i < a.length / 2; i++)// 长度减半
		{
			int t = a[i];
			a[i] = a[a.length - 1 - i];
			a[a.length - 1 - i] = t;
		}
	}
	//求和
	private static int sum(int[] a) {
		int sum = 0;
		for (int i = 0; i < a.length; i++)
			sum = sum + a[i];
		return sum;
	}
	//交换
	private static void shiftLeft(int[] a) {
		int t = a[0];
		for (int i = 1; i < a.length; i++)
			a[i - 1] = a[i];
		a[a.length - 1] = t;

	}
	//最小值
	private static int findMin(int[] a) {
		int min = a[0];
		for (int i = 1; i < a.length; i++) {
			if (min > a[i])
				min = a[i];
		}
		return min;
	}
	//最大值
	private static int findMax(int[] a) {
		int max = a[0];
		for (int i = 1; i < a.length; i++) {
			if (max < a[i])
				max = a[i];
		}
		return max;
	}
	//求随机数并乘100
	private static void getrateRandom(int[] b) {
		for (int i = 0; i < b.length; i++)
			b[i] = (int) (Math.random() * 100);
	}
	
	private static void out(int[] b) {
		for (int i = 0; i < b.length; i++)
			System.out.print(b[i] + "\t");
		System.out.println("\n");
	}
}
